<?php

namespace Portal\InvoiceBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * Notification
 *
 * @ORM\Table(name="notification")
 * @ORM\Entity
 */
class Notification
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    private $id;

    /**
     * @var string
     *
     * @ORM\Column(name="notification_type", type="string", length=50, nullable=false)
     */
    private $notificationType;

    /**
     * @var integer
     *
     * @ORM\Column(name="table_id", type="integer", nullable=true)
     */
    private $tableId;

    /**
     * @var string
     *
     * @ORM\Column(name="to_url", type="string", length=200, nullable=false)
     */
    private $toUrl;

    /**
     * @var string
     *
     * @ORM\Column(name="description", type="string", length=512, nullable=true)
     */
    private $description;

    /**
     * @var integer
     *
     * @ORM\Column(name="tutor_id", type="integer", nullable=true)
     */
    private $tutorId;

    /**
     * @var integer
     *
     * @ORM\Column(name="user_id", type="integer", nullable=true)
     */
    private $userId;

    /**
     * @var integer
     *
     * @ORM\Column(name="status", type="integer", nullable=false)
     */
    private $status;

    /**
     * @var string
     *
     * @ORM\Column(name="status_tutor", type="string", length=20, nullable=true)
     */
    private $statusTutor;

    /**
     * @var integer
     *
     * @ORM\Column(name="is_active", type="integer", nullable=false)
     */
    private $isActive;

    /**
     * @var string
     *
     * @ORM\Column(name="user_show_permission", type="string", length=50, nullable=true)
     */
    private $userShowPermission;

    /**
     * @var string
     *
     * @ORM\Column(name="tutor_show_permission", type="string", length=20, nullable=true)
     */
    private $tutorShowPermission;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="created_at", type="date", nullable=false)
     */
    private $createdAt;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="updated_at", type="datetime", nullable=true)
     */
    private $updatedAt;



    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set notificationType
     *
     * @param string $notificationType
     * @return Notification
     */
    public function setNotificationType($notificationType)
    {
        $this->notificationType = $notificationType;
    
        return $this;
    }

    /**
     * Get notificationType
     *
     * @return string 
     */
    public function getNotificationType()
    {
        return $this->notificationType;
    }

    /**
     * Set tableId
     *
     * @param integer $tableId
     * @return Notification
     */
    public function setTableId($tableId)
    {
        $this->tableId = $tableId;
    
        return $this;
    }

    /**
     * Get tableId
     *
     * @return integer 
     */
    public function getTableId()
    {
        return $this->tableId;
    }

    /**
     * Set toUrl
     *
     * @param string $toUrl
     * @return Notification
     */
    public function setToUrl($toUrl)
    {
        $this->toUrl = $toUrl;
    
        return $this;
    }

    /**
     * Get toUrl
     *
     * @return string 
     */
    public function getToUrl()
    {
        return $this->toUrl;
    }

    /**
     * Set description
     *
     * @param string $description
     * @return Notification
     */
    public function setDescription($description)
    {
        $this->description = $description;
    
        return $this;
    }

    /**
     * Get description
     *
     * @return string 
     */
    public function getDescription()
    {
        return $this->description;
    }

    /**
     * Set tutorId
     *
     * @param integer $tutorId
     * @return Notification
     */
    public function setTutorId($tutorId)
    {
        $this->tutorId = $tutorId;
    
        return $this;
    }

    /**
     * Get tutorId
     *
     * @return integer 
     */
    public function getTutorId()
    {
        return $this->tutorId;
    }

    /**
     * Set userId
     *
     * @param integer $userId
     * @return Notification
     */
    public function setUserId($userId)
    {
        $this->userId = $userId;
    
        return $this;
    }

    /**
     * Get userId
     *
     * @return integer 
     */
    public function getUserId()
    {
        return $this->userId;
    }

    /**
     * Set status
     *
     * @param integer $status
     * @return Notification
     */
    public function setStatus($status)
    {
        $this->status = $status;
    
        return $this;
    }

    /**
     * Get status
     *
     * @return integer 
     */
    public function getStatus()
    {
        return $this->status;
    }

    /**
     * Set statusTutor
     *
     * @param string $statusTutor
     * @return Notification
     */
    public function setStatusTutor($statusTutor)
    {
        $this->statusTutor = $statusTutor;
    
        return $this;
    }

    /**
     * Get statusTutor
     *
     * @return string 
     */
    public function getStatusTutor()
    {
        return $this->statusTutor;
    }

    /**
     * Set isActive
     *
     * @param integer $isActive
     * @return Notification
     */
    public function setIsActive($isActive)
    {
        $this->isActive = $isActive;
    
        return $this;
    }

    /**
     * Get isActive
     *
     * @return integer 
     */
    public function getIsActive()
    {
        return $this->isActive;
    }

    /**
     * Set userShowPermission
     *
     * @param string $userShowPermission
     * @return Notification
     */
    public function setUserShowPermission($userShowPermission)
    {
        $this->userShowPermission = $userShowPermission;
    
        return $this;
    }

    /**
     * Get userShowPermission
     *
     * @return string 
     */
    public function getUserShowPermission()
    {
        return $this->userShowPermission;
    }

    /**
     * Set tutorShowPermission
     *
     * @param string $tutorShowPermission
     * @return Notification
     */
    public function setTutorShowPermission($tutorShowPermission)
    {
        $this->tutorShowPermission = $tutorShowPermission;
    
        return $this;
    }

    /**
     * Get tutorShowPermission
     *
     * @return string 
     */
    public function getTutorShowPermission()
    {
        return $this->tutorShowPermission;
    }

    /**
     * Set createdAt
     *
     * @param \DateTime $createdAt
     * @return Notification
     */
    public function setCreatedAt($createdAt)
    {
        $this->createdAt = $createdAt;
    
        return $this;
    }

    /**
     * Get createdAt
     *
     * @return \DateTime 
     */
    public function getCreatedAt()
    {
        return $this->createdAt;
    }

    /**
     * Set updatedAt
     *
     * @param \DateTime $updatedAt
     * @return Notification
     */
    public function setUpdatedAt($updatedAt)
    {
        $this->updatedAt = $updatedAt;
    
        return $this;
    }

    /**
     * Get updatedAt
     *
     * @return \DateTime 
     */
    public function getUpdatedAt()
    {
        return $this->updatedAt;
    }
}